home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-02-24 | 57.9 KB | 2,548 lines |
- setdialogscript dialog/dialog_muntp.scr
-
- // Game Variables
- /////////////////////////////////////////////////////////////////////////////
-
-
- // Level Variables
- /////////////////////////////////////////////////////////////////////////////
- level.Skill getcvar skill
-
- //level.speech1_cinematic_thread
- //level.speech1_dialog_thread
- //level.speech1_dialog_call_thread
-
- level.missile_deploy_status = 0
-
- level.dome_enemies_killed = 0
-
- level.gears_status = 0
- level.telescope_status = 0
- level.telescope_angle = 0
- level.dome_door_status = 0
-
- level.greencard_status = 0
- level.yellowcard_status = 0
-
- level.escape_lift_inuse = 0
-
- // Mission Objective States - 0 not accomplished 1 = success 2 = fail 3 = not available
- level.PObjective1 = 0 // Locate Elexis Sinclaire
- level.PObjective2 = 3 // Find The Missile Control Room
-
-
- // Script Initialization
- /////////////////////////////////////////////////////////////////////////////
- thread init_thread
- thread init_elevator_thread
- thread init_warheads_thread
- thread init_warhead_equipment_thread
- thread init_missile_thread
- thread init_telescope_thread
-
- // General
- thread elevator_thread
-
- // Characters
- thread init_character_items_thread
-
- $tech01 thread tech01_thread
- $tech01 thread tech01_thread
-
- $elexis1 thread elexis1_thread
- $elexis2 thread elexis2_thread
-
- $confguy01 thread confguy01_thread
- $confguy02 thread confguy02_thread
- $confguy03 thread confguy03_thread
- $confguy04 thread confguy04_thread
- $confguy05 thread confguy05_thread
- $confguy06 thread confguy06_thread
-
- $manu01 thread manu01_thread
- $sarge01 thread sarge01_thread
- $sarge02 thread sarge02_thread
- $sarge03 thread sarge03_thread
-
- // Consoles
- //thread telescope_console_thread
-
- end // Script Initialization
-
-
- // init_thread:
- /////////////////////////////////////////////////////////////////////////////
- init_thread:
-
- $breakout1 setdamage 300
- $breakout2 setdamage 300
- $breakout3 setdamage 300
- $breakout4 setdamage 300
- $breakout5 setdamage 300
- $breakout6 setdamage 300
-
- // lock doors
- $front_office_door lock
- $control_room_door lock
-
- $conf_door1 lock
- $conf_door2 lock
- $conf_door3 lock
- $conf_door4 lock
-
- $door5 lock
- $door6 lock
- $outside_door lock
-
- // setup the big gears
- $gear1 jumpto $gear1_way1
- $gear2 jumpto $gear2_way1
- $gear3 jumpto $gear3_way1
-
- $gear1 time 0.1
- $gear1 rotateYdown 10
- waitFor $gear1
-
- // setup elexis' escape elevator
- $escape_liftsides bind $escape_lift
- wait 0.1
-
- $escape_lift jumpto $escape_lift_way1
-
- end // init_thread
-
-
- // init_elevator_thread:
- /////////////////////////////////////////////////////////////////////////////
- init_elevator_thread:
-
- $elevator_innerdoor bind $elevator
- $elevator_use bind $elevator
-
- end // init_elevator_thread
-
-
- // init_warheads_thread:
- /////////////////////////////////////////////////////////////////////////////
- init_warheads_thread:
-
- $warhead1 jumpto $warhead1_way1
-
- $warhead2_clip bind $warhead2
- wait 0.1
-
- $warhead2 jumpto $warhead2_way1
-
- $warhead2 time 0.1
- $warhead2 rotateZup 90
- waitFor $warhead2
-
- end // init_warheads_thread
-
-
- // init_warhead_equipment_thread:
- ////////////////////////////////////////////////////////////////////////////
- init_warhead_equipment_thread:
-
- // setup the warhead elevator
- $wh_elev_clip bind $wh_elev_plat
- wait 0.1
-
- $wh_elev_plat jumpto $wh_elev_plat_way1
-
- $wh_elev_top1 bind $wh_elev_bottom1
- $wh_elev_top2 bind $wh_elev_bottom2
- wait 0.1
-
- $wh_elev_bottom1 time 0.1
- $wh_elev_bottom2 time 0.1
- $wh_elev_top1 time 0.1
- $wh_elev_top2 time 0.1
- $wh_elev_bottom1 rotateXup 13
- $wh_elev_bottom2 rotateXdown 13
- $wh_elev_top1 rotateXdown 26
- $wh_elev_top2 rotateXup 26
- waitFor $wh_elev_top2
-
- // setup the warhead lift
- $wh_lift time 0.1
- $wh_lift moveUp 32
- waitFor $wh_lift
-
- end // init_warhead_equipment_thread
-
-
- // init_missile_thread:
- ////////////////////////////////////////////////////////////////////////////
- init_missile_thread:
-
- $carrier_arm bind $carrier_base
- $carrier_lift bind $carrier_arm
- $carrier_holder bind $carrier_lift
- $missile bind $carrier_holder
- wait 0.1
-
- $carrier_base jumpto $missile_way1
-
- end // init_missile_thread
-
-
- // init_telescope_thread:
- ////////////////////////////////////////////////////////////////////////////
- init_telescope_thread:
-
- $tele_base bind $tele_arm
- $tele_section1 bind $tele_base
- $tele_section2 bind $tele_section1
- $tele_lens bind $tele_section1
- wait 0.1
-
- // Put the telescope in retracted state
- $tele_lens time 0.1
- $tele_section2 time 0.1
- $tele_lens moveEast 64
- $tele_section2 moveWest 256
- waitFor $tele_section2
-
- $tele_base time 0.1
- $tele_arm time 0.1
- $tele_base moveDown 192
- $tele_arm moveWest 192
- waitFor $tele_arm
-
- end // init_telescope_thread
-
-
- //===========================================================================
- //===========================================================================
- // CINEMATICS
- //===========================================================================
- //===========================================================================
- // speech1_cinematic_thread:
- /////////////////////////////////////////////////////////////////////////////
- speech1_cinematic_thread:
-
- fadeout 0.1 0 0 0
-
- WaitForPlayer
-
- fadeout 0.1 0 0 0
-
- freezeplayer
- cinematic
- hud 0
-
- music mystery normal
-
- $conf_cinematic_camera1 jumpto $conf_cinematic_campath1
- cuecamera $conf_cinematic_camera1
- $conf_cinematic_camera1 lookat $elexis1
- wait 2
-
- fadein 1 0 0 0
- wait 1
-
- $conf_cinematic_camera1 follow $conf_cinematic_campath1 $elexis1
- wait 0.5
-
- trigger $elexis1
- thread speech1_dialog_thread
- level.speech1_dialog_call_thread = parm.previousthread
- skipthread speech1_cinematic_skip_thread
- waitForThread level.speech1_dialog_call_thread
-
- // clean up the cinematic
- fadeout 1 0 0 0
- wait 1
-
- cueplayer
-
- fadein 1 0 0 0
- wait 1
-
- hud 1
- noncinematic
- releaseplayer
-
- end // speech1_cinematic_thread
-
-
- // speech1_cinematic_skip_thread:
- /////////////////////////////////////////////////////////////////////////////
- speech1_cinematic_skip_thread:
-
- skipthread ""
-
- terminate level.speech1_cinematic_thread
- terminate level.speech1_dialog_call_thread
- terminate level.speech1_dialog_thread
-
- // clean up the cinematic
- fadeout 1 0 0 0
- wait 1
-
- cueplayer
-
- fadein 1 0 0 0
- wait 1
-
- hud 1
- noncinematic
- releaseplayer
-
- end // speech1_cinematic_skip_thread
-
-
- // speech2_cinematic_thread:
- /////////////////////////////////////////////////////////////////////////////
- speech2_cinematic_thread:
-
- freezeplayer
- cinematic
-
- fadeout 1 0 0 0
- wait 1
-
- hud 0
-
- $conf_cinematic_camera2 jumpto $conf_cinematic_campath2
- cuecamera $conf_cinematic_camera2
- $conf_cinematic_camera2 lookat $cinematic_camera2_target
- $conf_cinematic_camera2 follow $conf_cinematic_campath2 $cinematic_camera2_target
- wait 1
-
- fadein 1 0 0 0
- wait 1
-
- thread speech2_dialog_thread
- waitForThread parm.previousthread
-
- thread elexis_flee_dialog_thread
- waitForThread parm.previousthread
-
- fadeout 1 0 0 0
- wait 1
-
- cueplayer
- hud 1
-
- fadein 1 0 0 0
- wait 1
-
- noncinematic
- releaseplayer
- wait 2
-
- thread find_elexis_misscomp_thread
-
- end // speech2_cinematic_thread
-
-
- // comotion_thread:
- /////////////////////////////////////////////////////////////////////////////
- comotion_thread:
-
- $confguy02 playsound misc/scared/whois.wav 3
- wait 2
-
- trigger $confguy02
- $confguy03 playsound misc/scared/whatthe.wav 3
- wait 1
-
- trigger $confguy03
- $confguy04 playsound misc/civfem/pain2.wav 3
- wait 1.5
-
- trigger $confguy04
- $confguy05 playsound misc/scared/what1.wav 3
- wait 0.5
-
- trigger $confguy05
- $confguy06 playsound misc/scared/whatthe.wav 3
- wait 1
-
- trigger $confguy06
- trigger $confguy01
- $confguy01 playsound misc/civfem/scream.wav 3
-
-
- end // comotion_thread
-
-
- //===========================================================================
- //===========================================================================
- // GENERAL
- //===========================================================================
- //===========================================================================
- // elevator_thread:
- ////////////////////////////////////////////////////////////////////////////
- elevator_thread:
-
- thread speech1_cinematic_thread
- level.speech1_cinematic_thread = parm.previousthread
- waitForThread level.speech1_cinematic_thread
- wait 1
-
- thread phoenix_start_misscomp_thread
-
- $elevator playsound environment/elevator/elev2.wav
-
- $elevator speed 256
- $elevator moveto $elevator_way2
- waitFor $elevator
-
- $elevator_outterdoor_area open
-
- $elevator speed 128
- $elevator_outterdoor speed 128
- $elevator moveUp 136
- $elevator_outterdoor moveUp 136
- waitFor $elevator_outterdoor
-
- $elevator stopsound
- $elevator_innerdoor playsound environment/doors/pneu/smlpnu.wav
-
- $elevator_innerdoor time .5
- $elevator_innerdoor moveDown 92
- waitFor $elevator_innerdoor
-
- $elevator ontrigger elevator_retract
- pause
-
- elevator_retract:
- $elevator notrigger
-
- $elevator_innerdoor time .5
- $elevator_innerdoor moveUp 92
- waitFor $elevator_innerdoor
-
- $elevator speed 128
- $elevator_outterdoor speed 128
- $elevator moveDown 136
- $elevator_outterdoor moveDown 136
- waitFor $elevator_outterdoor
-
- $elevator_outterdoor_area close
-
- end // elevator_thread
-
-
- // telescope_sequence_thread:
- ////////////////////////////////////////////////////////////////////////////
- telescope_sequence_thread:
-
- parm.Angle = 20
- thread set_telescope_angle_thread
- waitForThread parm.previousthread
-
- end // telescope_sequence_thread
-
-
- // set_telescope_angle_thread:
- /////////////////////////////////////////////////////////////////////////////
- set_telescope_angle_thread:
- local.Angle = parm.Angle
-
- level.telescope_angle ifgreater local.Angle goto set_telescope_angle_up
- level.telescope_angle ifless local.Angle goto set_telescope_angle_down
- goto set_telescope_angle_done
-
- set_telescope_angle_down:
- local.AngleDelta = level.telescope_angle
- local.AngleDelta -= local.Angle
- local.AngleTime = local.AngleDelta
- local.AngleTime /= 5
-
- local.AngleTime ifless 0 local.AngleTime *= -1
-
- $tele_section1 playsound environment/Amb_Machine/mechamb2.wav 2
-
- $tele_section1 time local.AngleTime
- $tele_section1 rotateXup local.AngleDelta
- waitFor $tele_section1
-
- $tele_section1 stopsound
-
- level.telescope_angle = local.Angle
-
- goto set_telescope_angle_done
-
- set_telescope_angle_up:
- local.AngleDelta = local.Angle
- local.AngleDelta -= level.telescope_angle
- local.AngleTime = local.AngleDelta
- local.AngleTime /= 5
-
- local.AngleTime ifless 0 local.AngleTime *= -1
-
- $tele_section1 playsound environment/Amb_Machine/mechamb2.wav 2
- $tele_section1 time local.AngleTime
- $tele_section1 rotateXdown local.AngleDelta
- waitFor $tele_section1
- $tele_section1 stopsound
-
- level.telescope_angle = local.Angle
-
- goto set_telescope_angle_done
-
- set_telescope_angle_done:
-
- end // set_telescope_angle_thread
-
-
- // retract_telescope_thread:
- /////////////////////////////////////////////////////////////////////////////
- retract_telescope_thread:
-
- level.missile_deploy_status ifequal 1 goto retract_telescope_forced
- level.telescope_status ifnotequal 1 goto retract_telescope_done
-
- retract_telescope_forced:
- parm.Angle = 0
- thread set_telescope_angle_thread
- waitForThread parm.previousthread
-
- $tele_section2 playsound environment/machine/synmach/Lv2rng.wav
-
- $tele_lens time 2
- $tele_section2 time 6
- $tele_lens moveEast 64
- $tele_section2 moveWest 256
- waitFor $tele_section2
-
- $tele_section2 stopsound
-
- level.telescope_status ifnotequal 1 goto retract_telescope_done
-
- thread retract_gears_thread
- thread close_dome_door_thread
-
- $tele_arm playsound environment/machine/lrgmach/bigabs.wav
-
- $tele_base time 4
- $tele_base moveDown 192
- waitFor $tele_base
-
- $tele_arm time 4
- $tele_arm moveWest 192
- waitFor $tele_arm
-
- $tele_arm stopsound
-
- level.telescope_status = 0
-
- retract_telescope_done:
-
- end // retract_telescope_thread
-
-
- // destroy_telescope_retracted_thread:
- /////////////////////////////////////////////////////////////////////////////
- destroy_telescope_retracted_thread:
-
- level.telescope_status = 2
-
- $tele_lens unbind $tele_section1
- $tele_section2 unbind $tele_section1
- $tele_section1 unbind $tele_base
- $tele_base unbind $tele_arm
-
- $tele_base bind $tele_arm
-
- $tele_section2 shatter "0 0 0" 100 50 200 .1 0
- $tele_lens shatter "0 0 0" 50 10 50 .1 0
- $tele_base shatter "0 1 1" 150 25 100 .1 0
- $tele_shatter1 shatter "0 0 0" 50 10 50 .5 0
-
- $tele_section2 remove
- $tele_lens remove
- $tele_shatter1 remove
-
- thread destroy_retracted_telescope_base_thread
- thread destroy_retracted_telescope_section1_thread
-
- end // destroy_telescope_retracted_thread
-
-
- // destroy_retracted_telescope_base_thread:
- /////////////////////////////////////////////////////////////////////////////
- destroy_retracted_telescope_base_thread:
-
- $tele_arm time .5
- $tele_arm moveSouth 96
- $tele_arm moveUp 64
- $tele_arm rotateXup 15
- $tele_arm rotateYup 15
- $tele_arm rotateZdown 10
- waitFor $tele_arm
-
- end // destroy_retracted_telescope_base_thread
-
-
- // destroy_retracted_telescope_section1_thread:
- /////////////////////////////////////////////////////////////////////////////
- destroy_retracted_telescope_section1_thread:
-
- $tele_section1 rotateY 120
-
- $tele_section1 time .6
- $tele_section1 moveto $teledestroy1_way1
- waitFor $tele_section1
-
- $tele_section1 time .5
- $tele_section1 moveto $teledestroy1_way2
- waitFor $tele_section1
-
- $tele_section1 time .4
- $tele_section1 moveto $teledestroy1_way3
- waitFor $tele_section1
-
- $tele_section1 time .3
- $tele_section1 moveto $teledestroy1_way4
- waitFor $tele_section1
-
- $tele_section1 shatter "0 1 1" 100 20 100 .2 0
-
- $tele_section1 time 1
- $tele_section1 moveto $teledestroy1_way5
- waitFor $tele_section1
-
- $tele_section1 rotateY 0
-
- end // destroy_retracted_telescope_section1_thread
-
-
- // expand_telescope_thread:
- /////////////////////////////////////////////////////////////////////////////
- expand_telescope_thread:
-
- level.telescope_status ifnotequal 0 goto expand_telescope_done
-
- thread expand_gears_thread
- thread open_dome_door_thread
-
- $tele_arm playsound environment/machine/lrgmach/bigabs.wav
-
- $tele_arm time 4
- $tele_arm moveEast 192
- waitFor $tele_arm
-
- $tele_base time 4
- $tele_base moveUp 192
- waitFor $tele_base
-
- $tele_arm stopsound
- $tele_section2 playsound environment/machine/synmach/Lv2rng.wav
-
- $tele_lens time 2
- $tele_section2 time 6
- $tele_lens moveWest 64
- $tele_section2 moveEast 256
- waitFor $tele_section2
-
- $tele_section2 stopsound
-
- level.telescope_status = 1
-
- expand_telescope_done:
-
- end // expand_telescope_thread
-
-
- // destroy_telescope_expanded_thread:
- /////////////////////////////////////////////////////////////////////////////
- destroy_telescope_expanded_thread:
-
- level.telescope_status = 2
-
- $tele_lens unbind $tele_section1
- $tele_section2 unbind $tele_section1
- $tele_section1 unbind $tele_base
- $tele_base unbind $tele_arm
-
- $tele_section1 bind $tele_base
- $tele_section2 bind $tele_section1
-
- $tele_lens shatter "0 0 0" 50 10 30 .1 0
- $tele_base shatter "0 0 0" 100 25 50 .1 0
- $tele_shatter1 shatter "0 1 0" 50 10 50 .5 0
-
- $tele_lens remove
- $tele_shatter1 remove
-
- $tele_section1 time 1
- $tele_arm time 1
- $tele_base time 1
- $tele_section1 rotateXup level.telescope_angle
- $tele_arm rotateZdown 45
- $tele_arm rotateXup 35
- $tele_base rotateZdown 45
- $tele_base rotateXup 35
- waitFor $tele_base
-
- $tele_section2 rotateY -60
-
- $tele_arm time .7
- $tele_base time .7
- $tele_arm moveDown 176
- $tele_arm rotateXdown 35
- $tele_arm rotateZdown 35
- $tele_base moveDown 170
- $tele_base rotateXdown 35
- $tele_base rotateZdown 35
- waitFor $tele_base
-
- $tele_section2 unbind $tele_section1
- $tele_section1 unbind $tele_base
- $tele_section1 shatter "0 1 1" 100 20 80 .05 0
- $tele_section2 shatter "0 0 1" 200 20 50 .1 0
- wait .1
-
- $tele_section2 remove
- $tele_section1 rotateY -40
-
- $tele_section1 time 1
- $tele_section1 moveto $teledestroy2_way1
- waitFor $tele_section1
-
- $tele_section1 rotateY 0
-
- end // destroy_telescope_expanded_thread
-
-
- // expand_gears_thread:
- /////////////////////////////////////////////////////////////////////////////
- expand_gears_thread:
- local.count = 1
-
- level.gears_status ifnotequal 0 goto retract_gears_done
- $gear1 playsound environment/levelsnds/muntp/observ2.wav 2
-
- retract_gears_loop:
- level.gears_status ifnotequal 0 goto retract_gears_done
- local.count ifgreater 8 goto retract_gears_done
-
- $gear1 time 1
- $gear2 time 1
- $gear3 time 1
- $gear1 rotateYup 31
- $gear2 rotateZup 31
- $gear3 moveSouth 60
- waitFor $gear3
- local.count += 1
-
- goto retract_gears_loop
-
- retract_gears_done:
- level.gears_status ifnotequal 2 level.gears_status = 1
- $gear1 stopsound
-
- end // expand_gears_thread
-
-
- // retract_gears_thread:
- /////////////////////////////////////////////////////////////////////////////
- retract_gears_thread:
- local.count = 1
-
- level.gears_status ifnotequal 1 goto expand_gears_done
- $gear1 playsound environment/levelsnds/muntp/observ2.wav 2
-
- expand_gears_loop:
- level.gears_status ifnotequal 1 goto expand_gears_done
- local.count ifgreater 8 goto expand_gears_done
-
- $gear1 time 1
- $gear2 time 1
- $gear3 time 1
- $gear1 rotateYdown 31
- $gear2 rotateZdown 31
- $gear3 moveNorth 60
- waitFor $gear3
- local.count += 1
-
- goto expand_gears_loop
-
- expand_gears_done:
- level.gears_status ifnotequal 2 level.gears_status = 0
- $gear1 stopsound
-
- end // retract_gears_thread
-
-
- // ready_missile_thread:
- ////////////////////////////////////////////////////////////////////////////
- ready_missile_thread:
-
- $warhead1 bind $wh_elev_plat
- wait 5
-
- // Open the door and raise the warhead to missile height
- thread open_warhead_door_thread
- waitForThread parm.previousthread
-
- thread raise_warhead_elevator_thread
- waitForThread parm.previousthread
-
- // Move the warhead ontop of the missile
- $wh_lift playsound environment/levelsnds/muntp/observ2.wav
- $wh_lift time 1
- $wh_lift moveDown 32
- waitFor $wh_lift
- $wh_lift stopsound
-
- wait 1
-
- $warhead1 playsound environment/machine/pneumach/Mchhss5.wav
- $warhead1 unbind $wh_elev_plat
- $warhead1 bind $wh_lift
-
- wait 3
-
- $wh_lift playsound environment/levelsnds/muntp/observ2.wav
- $wh_lift time 1
- $wh_lift moveUp 32
- waitFor $wh_lift
-
- $wh_lift time 5
- $wh_lift moveSouth 160
- waitFor $wh_lift
-
- $wh_lift time 1
- $wh_lift moveDown 32
- waitFor $wh_lift
- $wh_lift stopsound
-
- thread lower_warhead_elevator_thread
- waitForThread parm.previousthread
- wait 3
-
- $wh_lift playsound environment/levelsnds/muntp/observ2.wav
- $wh_lift time 2
- $wh_lift rotateYdown 90
- waitFor $wh_lift
- $wh_lift stopsound
-
- $warhead1 playsound environment/machine/pneumach/Mchhss6.wav
- $warhead1 unbind $wh_lift
-
- wait 1
-
- $wh_lift playsound environment/levelsnds/muntp/observ2.wav
- $wh_lift time 1
- $wh_lift moveUp 32
- waitFor $wh_lift
- $wh_lift stopsound
-
- wait 1
-
- // Now lets move the missile into the launch bay
- $warhead1 bind $missile
- wait 0.1
-
- thread close_warhead_door_thread
- thread open_missile_bay_door_thread
- waitForThread parm.previousthread
-
- $carrier_base playsound environment/levelsnds/muntp/observ3.wav 4
- $carrier_base time 6.5
- $carrier_base moveSouth 208
- waitFor $carrier_base
- $carrier_base stopsound
-
- wait 1
-
- $carrier_base playsound environment/levelsnds/muntp/observ3.wav 4
- $carrier_base time 11
- $carrier_base moveWest 352
- waitFor $carrier_base
- $carrier_base stopsound
-
- wait 1
-
- $carrier_base playsound environment/levelsnds/muntp/observ3.wav 4
- $carrier_base time 15.5
- $carrier_base moveNorth 496
- waitFor $carrier_base
- $carrier_base stopsound
-
- wait 1
-
- $carrier_base playsound environment/levelsnds/muntp/observ3.wav 4
- $carrier_base time 3
- $carrier_base rotateYup 90
- waitFor $carrier_base
- $carrier_base stopsound
-
- end // ready_missile_thread
-
-
- // deploy_missile_thread:
- /////////////////////////////////////////////////////////////////////////////
- deploy_missile_thread:
-
- $alarm_snd playsound environment/Alarm/klaxon3.wav 3.0
-
- // prevent the retract_telescope_thread call to close the door from working
- level.dome_door_status = -1
-
- level.missile_deploy_status = 1
-
- thread retract_telescope_thread
-
- thread close_missile_bay_door_thread
- waitForThread parm.previousthread
-
- thread open_dome_door_thread
- thread open_missile_door_thread
- waitForThread parm.previousthread
-
- $carrier_arm playsound environment/machine/lrgmach/bigabs.wav
- $carrier_lift time 6.5
- $carrier_lift moveUp 448
- waitFor $carrier_lift
-
- $carrier_arm time 9.5
- $carrier_arm moveUp 576
- waitFor $carrier_arm
- $carrier_arm stopsound
-
- $carrier_lift playsound environment/Amb_Machine/mechamb2.wav 2
- $carrier_holder time 3
- $carrier_holder rotateZup 45
- waitFor $carrier_holder
- $carrier_lift stopsound
- wait 5
-
- $alarm_snd stopsound
-
- end // deploy_missile_thread
-
-
- // call_escape_lift_thread:
- ////////////////////////////////////////////////////////////////////////////
- call_escape_lift_thread:
-
- level.escape_lift_inuse ifnotequal 0 goto call_escape_lift_done
- level.escape_lift_inuse = 1
-
- thread escape_lift_up_thread
- waitForThread parm.previousthread
-
- wait 5
-
- thread escape_lift_down_thread
- waitForThread parm.previousthread
-
- level.escape_lift_inuse = 0
-
- call_escape_lift_done:
-
- end // call_escape_lift_thread
-
-
- // escape_lift_up_thread:
- ////////////////////////////////////////////////////////////////////////////
- escape_lift_up_thread:
-
- // open the escape door
- $escape_door_area open
- $escape_door playsound environment/doors/pneu/mchmv1ll.wav
-
- $escape_door time 0.3
- $escape_door moveDown 8
- waitFor $escape_door
-
- wait 0.2
-
- $escape_door time 1
- $escape_door moveEast 128
- waitFor $escape_door
- wait 0.5
-
- // cycle the elevator
- $escape_liftsides playsound environment/doors/pneu/smlpnu.wav
- $escape_liftsides time 0.5
- $escape_liftsides moveUp 32
- waitFor $escape_liftsides
-
- wait 0.5
-
- $escape_lift playsound environment/elevator/elev2.wav
- $escape_lift time 2
- $escape_lift moveUp 256
- waitFor $escape_lift
- $escape_lift stopsound
-
- wait 0.5
-
- $escape_liftsides playsound environment/doors/pneu/smlpnu.wav
- $escape_liftsides time 0.5
- $escape_liftsides moveDown 32
- waitFor $escape_liftsides
-
- end // escape_lift_up_thread
-
-
- // escape_lift_down_thread:
- ////////////////////////////////////////////////////////////////////////////
- escape_lift_down_thread:
-
- $escape_liftsides playsound environment/doors/pneu/smlpnu.wav
- $escape_liftsides time 0.5
- $escape_liftsides moveUp 32
- waitFor $escape_liftsides
-
- wait 0.5
-
- $escape_lift playsound environment/elevator/elev2.wav
- $escape_lift time 2
- $escape_lift moveDown 256
- waitFor $escape_lift
- $escape_lift stopsound
-
- wait 0.5
-
- $escape_liftsides playsound environment/doors/pneu/smlpnu.wav
- $escape_liftsides time 0.5
- $escape_liftsides moveDown 32
- waitFor $escape_liftsides
-
- wait 0.5
-
- // close the escape door
- $escape_door playsound environment/doors/pneu/mchmv1ll.wav
-
- $escape_door time 1
- $escape_door moveWest 128
- waitFor $escape_door
-
- wait 0.2
-
- $escape_door time 0.3
- $escape_door moveUp 8
- waitFor $escape_door
-
- $escape_door_area close
-
- end // escape_lift_down_thread
-
-
- // raise_warhead_elevator_thread:
- /////////////////////////////////////////////////////////////////////////////
- raise_warhead_elevator_thread:
-
- $wh_elev_plat time 3
- $wh_elev_bottom1 time 3
- $wh_elev_bottom2 time 3
- $wh_elev_top1 time 3
- $wh_elev_top2 time 3
-
- $wh_elev_plat playsound environment/machine/srvct1.wav
-
- $wh_elev_plat moveUp 120
- $wh_elev_bottom1 rotateXup 60
- $wh_elev_bottom2 rotateXdown 60
- $wh_elev_top1 rotateXdown 120
- $wh_elev_top2 rotateXup 120
- waitFor $wh_elev_top2
-
- $wh_elev_plat stopsound
-
- end // raise_warhead_elevator_thread
-
-
- // lower_warhead_elevator_thread:
- /////////////////////////////////////////////////////////////////////////////
- lower_warhead_elevator_thread:
-
- $wh_elev_plat time 3
- $wh_elev_bottom1 time 3
- $wh_elev_bottom2 time 3
- $wh_elev_top1 time 3
- $wh_elev_top2 time 3
-
- $wh_elev_plat playsound environment/machine/srvct1.wav
-
- $wh_elev_plat moveDown 120
- $wh_elev_bottom1 rotateXdown 60
- $wh_elev_bottom2 rotateXup 60
- $wh_elev_top1 rotateXup 120
- $wh_elev_top2 rotateXdown 120
- waitFor $wh_elev_top2
-
- $wh_elev_plat stopsound
-
- end // lower_warhead_elevator_thread
-
-
- // open_warhead_door_thread:
- /////////////////////////////////////////////////////////////////////////////
- open_warhead_door_thread:
-
- $warhead_door_area open
-
- $warhead_door playsound environment/doors/pneu/mchmv1ll.wav
- $warhead_door time 1.5
- $warhead_door moveBackward 48
- waitFor $warhead_door
-
- end // open_warhead_door_thread
-
-
- // close_warhead_door_thread:
- /////////////////////////////////////////////////////////////////////////////
- close_warhead_door_thread:
-
- $warhead_door playsound environment/doors/pneu/mchmv1ll.wav
- $warhead_door time 1.5
- $warhead_door moveForward 48
- waitFor $warhead_door
-
- $warhead_door_area close
-
- end // close_warhead_door_thread
-
-
- // open_missile_bay_door_thread:
- /////////////////////////////////////////////////////////////////////////////
- open_missile_bay_door_thread:
-
- $missilebay_door_area open
- $missilebay_door playsound environment/machine/jsb1nf.wav 0.5
-
- $missilebay_door time 3.5
- $missilebay_door moveBackward 88
- waitFor $missilebay_door
-
- end // open_missile_bay_door_thread
-
-
- // close_missile_bay_door_thread:
- /////////////////////////////////////////////////////////////////////////////
- close_missile_bay_door_thread:
-
- $missilebay_door playsound environment/machine/jsb1nf.wav 0.5
-
- $missilebay_door time 3.5
- $missilebay_door moveForward 88
- waitFor $missilebay_door
-
- $missilebay_door_area close
-
- end // close_missile_bay_door_thread
-
-
- // open_missile_door_thread:
- /////////////////////////////////////////////////////////////////////////////
- open_missile_door_thread:
-
- $missile_door_area open
- $missilebay_door playsound environment/machine/pneumach/Mchhss5.wav
-
- $missile_door time 1
- $missile_door moveDown 16
- waitFor $missile_door
-
- wait 0.5
- $missilebay_door playsound environment/machine/mrclchn.wav
-
- $missile_door time 3.5
- $missile_door moveBackward 112
- waitFor $missile_door
-
- $missilebay_door stopsound
-
- end // open_missile_door_thread
-
-
- // close_missile_door_thread:
- /////////////////////////////////////////////////////////////////////////////
- close_missile_door_thread:
-
- $missilebay_door playsound environment/machine/mrclchn.wav
-
- $missile_door time 3.5
- $missile_door moveForward 112
- waitFor $missile_door
-
- $missilebay_door stopsound
- wait 0.5
-
- $missilebay_door playsound environment/machine/pneumach/Mchhss5.wav
-
- $missile_door time 1
- $missile_door moveUp 16
- waitFor $missile_door
-
- $missile_door_area close
-
- end // close_missile_door_thread
-
-
- // open_dome_door_thread:
- /////////////////////////////////////////////////////////////////////////////
- open_dome_door_thread:
-
- level.dome_door_status ifnotequal 0 goto open_dome_door_done
- level.dome_door_status = 1
-
- $dome_door playsound environment/machine/jsb1nf.wav 0.5
-
- $dome_door time 3
- $dome_door moveBackward 96
- waitFor $dome_door
-
- open_dome_door_done:
-
- end // open_dome_door_thread
-
-
- // close_dome_door_thread:
- /////////////////////////////////////////////////////////////////////////////
- close_dome_door_thread:
-
- level.dome_door_status ifnotequal 1 goto close_dome_door_done
- level.dome_door_status = 0
-
- $dome_door playsound environment/machine/jsb1nf.wav 0.5
-
- $dome_door time 3
- $dome_door moveForward 96
- waitFor $dome_door
-
- close_dome_door_done:
-
- end // close_dome_door_thread
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- // explode1_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode1_thread:
-
- $explode1_1 setdamage 200
- $explode1_2 setdamage 200
-
- trigger $explode1_explode
- trigger $explode1_eq
-
- thread explode1_1_thread
- thread explode1_2_thread
-
- $explode1_4 time 0.2
- $explode1_4 moveDown 8
- $explode1_4 rotateZdown 10
- waitFor $explode1_4
-
- end // explode1_thread
-
-
- // explode1_1_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode1_1_thread:
-
- $explode1_1 rotateZ 380
- $explode1_1 shatter "0 0 0" 50 10 50 .1 0
-
- $explode1_1 time .2
- $explode1_1 moveto $explode1_1_way1
- waitFor $explode1_1
-
- $explode1_1 time .3
- $explode1_1 moveto $explode1_1_way2
- waitFor $explode1_1
-
- $explode1_1 time .4
- $explode1_1 moveto $explode1_1_way3
- waitFor $explode1_1
-
- $explode1_1 shatter "0 0 0" 50 10 50 .05 0
- $explode1_1 rotateZ 0
-
- end // explode1_1_thread
-
-
- // explode1_2_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode1_2_thread:
-
- $explode1_2 rotateY 180
- $explode1_2 rotateZ -360
- $explode1_2 shatter "0 0 0" 50 10 50 .1 0
-
- $explode1_2 time .3
- $explode1_2 moveto $explode1_2_way1
- waitFor $explode1_2
-
- $explode1_2 time .4
- $explode1_2 moveto $explode1_2_way2
- waitFor $explode1_2
-
- $explode1_2 rotateZ 0
-
- $explode1_2 time .5
- $explode1_2 moveto $explode1_2_way3
- waitFor $explode1_2
-
- $explode1_2 rotateY 0
-
- end // explode1_2_thread
-
-
- // explode2_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode2_thread:
-
- $explode2_1 setdamage 200
- $explode2_2 setdamage 200
- $explode2_3 setdamage 200
-
- trigger $explode2_explode
- trigger $explode2_eq
- trigger $explode2_damage
-
- thread explode2_1_thread
- thread explode2_2_thread
- thread explode2_3_thread
-
- end // explode2_thread
-
-
- // explode2_1_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode2_1_thread:
-
- $explode2_1 rotateZ 410
- $explode2_1 shatter "0 0 0" 50 10 50 .1 0
-
- $explode2_1 time .3
- $explode2_1 moveto $explode2_1_way1
- waitFor $explode2_1
-
- $explode2_1 time .4
- $explode2_1 moveto $explode2_1_way2
- waitFor $explode2_1
-
- $explode2_1 time .5
- $explode2_1 moveto $explode2_1_way3
- waitFor $explode2_1
-
- $explode2_1 shatter "0 0 0" 50 10 50 .05 0
- $explode2_1 rotateZ 0
-
-
- end // explode2_1_thread
-
-
- // explode2_2_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode2_2_thread:
-
- $explode2_2 rotateX -405
- $explode2_2 shatter "0 0 0" 50 10 50 .1 0
-
- $explode2_2 time .3
- $explode2_2 moveto $explode2_2_way1
- waitFor $explode2_2
-
- $explode2_2 time .4
- $explode2_2 moveto $explode2_2_way2
- waitFor $explode2_2
-
- $explode2_2 time .5
- $explode2_2 moveto $explode2_2_way3
- waitFor $explode2_2
-
- $explode2_2 shatter "0 0 0" 50 10 50 .05 0
- $explode2_2 rotateX 0
-
- end // explode2_2_thread
-
-
- // explode2_3_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode2_3_thread:
-
- $explode2_3 time 0.2
- $explode2_3 moveDown 8
- $explode2_3 rotateXup 15
- waitFor $explode2_3
-
- end // explode2_3_thread
-
-
- // explode3_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode3_thread:
-
- $explode3_1 setdamage 200
- $explode3_2 setdamage 200
- $explode3_3 setdamage 200
-
- trigger $explode3_explode
- trigger $explode3_eq
- trigger $explode3_damage
-
- thread explode3_1_thread
- thread explode3_2_thread
- thread explode3_3_thread
-
- level.telescope_status = 2
- level.gears_status = 2
-
- end // explode3_thread
-
-
- // explode3_1_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode3_1_thread:
-
- $explode3_1 shatter "0 0 0" 30 10 50 .05 0
-
- $explode3_1 time .5
- $explode3_1 moveSouth 8
- $explode3_1 rotateZdown 30
- waitFor $explode3_1
-
- trigger $explode3_glass
-
- $gear1 time .2
- $explode3_1 time .2
- $gear1 rotateZdown 5
- $explode3_1 rotateZdown 7
- waitFor $explode3_1
-
- end // explode3_1_thread
-
-
- // explode3_2_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode3_2_thread:
-
- $explode3_2 rotateY 540
- $explode3_2 shatter "0 0 0" 50 10 50 .05 0
-
- $explode3_2 time .3
- $explode3_2 moveto $explode3_2_way1
- waitFor $explode3_2
-
- $explode3_2 time .4
- $explode3_2 moveto $explode3_2_way2
- waitFor $explode3_2
-
- $explode3_2 time .5
- $explode3_2 moveto $explode3_2_way3
- waitFor $explode3_2
-
- $explode3_2 rotateY 0
- $explode3_2 shatter "0 0 0" 50 10 50 .05 0
-
- end // explode3_2_thread
-
-
- // explode3_3_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode3_3_thread:
-
- $explode3_3 rotateY -360
- $explode3_3 shatter "0 0 0" 50 10 50 .05 0
-
- $explode3_3 time .3
- $explode3_3 moveto $explode3_3_way1
- waitFor $explode3_3
-
- $explode3_3 time .4
- $explode3_3 moveto $explode3_3_way2
- waitFor $explode3_3
-
- $explode3_3 time .4
- $explode3_3 moveto $explode3_3_way3
- waitFor $explode3_3
-
- $explode3_3 rotateY 0
- $explode3_3 shatter "0 0 0" 50 10 50 .05 0
-
- end // explode3_3_thread
-
-
- // explode4_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode4_thread:
-
- $explode4_1 setdamage 200
- $explode4_2 setdamage 200
-
- trigger $explode4_explode
- trigger $explode4_eq
- trigger $explode4_damage
-
- thread explode4_1_thread
- thread explode4_2_thread
-
- end // explode4_thread
-
-
- // explode4_1_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode4_1_thread:
-
- $explode4_1 rotateY 420
- $explode4_1 rotateZ 440
- $explode4_1 shatter "0 0 0" 50 10 50 .05 0
-
- $explode4_1 time .2
- $explode4_1 moveto $explode4_1_way1
- waitFor $explode4_1
-
- $explode4_1 time .3
- $explode4_1 moveto $explode4_1_way2
- waitFor $explode4_1
-
- $explode4_1 rotateY 0
- $explode4_1 rotateZ 0
- $explode4_1 shatter "0 0 0" 50 10 50 .05 0
-
- end // explode4_1_thread
-
-
- // explode4_2_thread:
- ////////////////////////////////////////////////////////////////////////////
- explode4_2_thread:
-
- $ls_explode4 turnOff
-
- $explode4_2 time .4
- $explode4_2 rotateZdown 80
- waitFor $explode4_2
-
- $explode4_2 time .4
- $explode4_2 rotateZup 70
- waitFor $explode4_2
-
- $explode4_2 time .4
- $explode4_2 rotateZdown 60
- waitFor $explode4_2
-
- $explode4_2 time .4
- $explode4_2 rotateZup 30
- waitFor $explode4_2
-
- $explode4_2 time .4
- $explode4_2 rotateZdown 10
- waitFor $explode4_2
-
- $explode4_2 time .4
- $explode4_2 rotateZup 10
- waitFor $explode4_2
-
- $explode4_2 time .4
- $explode4_2 rotateZdown 10
- waitFor $explode4_2
-
- $explode4_2 time .4
- $explode4_2 rotateZup 10
- waitFor $explode4_2
-
- $explode4_2 time .4
- $explode4_2 rotateZdown 10
- waitFor $explode4_2
-
- $explode4_2 ondamage explode4_2_fall
- pause
-
- explode4_2_fall:
- $explode4_2 nodamage
-
- $explode4_2 time 1
- $explode4_2 moveWest 64
- $explode4_2 moveSouth 64
- $explode4_2 moveDown 192
- $explode4_2 rotateZdown 310
- waitFor $explode4_2
-
- end // explode4_2_thread
-
-
- // boss_entrance1_thread:
- ////////////////////////////////////////////////////////////////////////////
- boss_entrance1_thread:
-
- $door2 lock
- $door3 lock
- $door4 lock
- $door7 lock
-
- music suspense normal
-
- thread start_breakout_thread
- waitForThread parm.previousthread
-
- // activate the enemies
- trigger $manu01
- trigger $sarge01
- trigger $sarge02
- trigger $sarge03
-
- boss_entrance1_loop:
- wait 1
-
- level.Skill ifequal 0 level.dome_enemies_killed ifless 2 goto boss_entrance1_loop
- level.Skill ifequal 1 level.dome_enemies_killed ifless 3 goto boss_entrance1_loop
- level.Skill ifgreaterequal 2 level.dome_enemies_killed ifless 4 goto boss_entrance1_loop
-
- thread deploy_missile_thread
-
- $door2 unlock
- $door3 unlock
- $door4 unlock
- $door7 unlock
-
- end // boss_entrance1_thread
-
-
- // start_breakout_thread:
- /////////////////////////////////////////////////////////////////////////////
- start_breakout_thread:
- local.count = 1
-
- start_breakout_poundwall:
- trigger $breakout_eq1
-
- $breakout1 playsound impact/explosion/med1.wav 4
- $breakout2 playsound impact/explosion/med1.wav 4
-
- $breakout1 time .2
- $breakout2 time .2
- $breakout3 time .2
- $breakout4 time .2
- $breakout5 time .2
- $breakout6 time .2
- $breakout1 rotateXup 8
- $breakout2 rotateYup 5
- $breakout3 rotateXdown 5
- $breakout4 rotateXdown 8
- $breakout5 rotateYdown 5
- $breakout6 rotateXup 5
- waitFor $breakout6
-
- $breakout1 shatter "0 180 0" 100 2 25 .05 0
- $breakout3 shatter "0 180 0" 100 2 25 .05 0
- $breakout5 shatter "0 180 0" 100 2 25 .05 0
-
- $breakout1 time .2
- $breakout2 time .2
- $breakout3 time .2
- $breakout4 time .2
- $breakout5 time .2
- $breakout6 time .2
- $breakout1 rotateXdown 6
- $breakout2 rotateYdown 3
- $breakout3 rotateXup 3
- $breakout4 rotateXup 6
- $breakout5 rotateYup 3
- $breakout6 rotateXdown 3
- waitFor $breakout6
- wait 2
-
- local.count += 1
- local.count iflessequal 3 goto start_breakout_poundwall
-
- trigger $breakout_eq2
-
- $breakout1 playsound impact/comp_explode/cmpmx4.wav 4
- $breakout3 playsound impact/comp_explode/cmpmx4.wav 4
-
- thread breakout1_thread
- thread breakout2_thread
- thread breakout3_thread
- thread breakout4_thread
- thread breakout5_thread
- thread breakout6_thread
-
- end // start_breakout_thread
-
-
- // breakout1_thread:
- /////////////////////////////////////////////////////////////////////////////
- breakout1_thread:
-
- $breakout1 rotateX 270
- $breakout1 shatter "0 180 0" 150 10 50 .02 0
-
- $breakout1 time .3
- $breakout1 moveto $breakout1_way1
- waitFor $breakout1
-
- $breakout1 time .3
- $breakout1 moveto $breakout1_way2
- waitFor $breakout1
-
- $breakout1 time .4
- $breakout1 moveto $breakout1_way3
- waitFor $breakout1
-
- $breakout1 rotateX 0
- $breakout1 remove
-
- end // breakout1_thread
-
-
- // breakout2_thread:
- /////////////////////////////////////////////////////////////////////////////
- breakout2_thread:
-
- $breakout2 rotateX 180
- $breakout2 rotateY 360
- $breakout2 shatter "0 180 0" 150 10 50 .02 0
-
- $breakout2 time .2
- $breakout2 moveto $breakout2_way1
- waitFor $breakout2
-
- $breakout2 time .3
- $breakout2 moveto $breakout2_way2
- waitFor $breakout2
-
- $breakout2 rotateX 0
- $breakout2 rotateY 0
-
- $breakout2 time .4
- $breakout2 moveto $breakout2_way3
- waitFor $breakout2
-
- $breakout2 shatter "0 180 0" 150 10 50 .02 0
- $breakout2 remove
-
- end // breakout2_thread
-
-
- // breakout3_thread:
- /////////////////////////////////////////////////////////////////////////////
- breakout3_thread:
-
- wait .5
-
- $breakout3 rotateX -180
-
- $breakout3 time .5
- $breakout3 moveto $breakout3_way1
- waitFor $breakout3
-
- $breakout3 rotateX 0
- $breakout3 notsolid
-
- end // breakout3_thread
-
-
- // breakout4_thread:
- /////////////////////////////////////////////////////////////////////////////
- breakout4_thread:
-
- $breakout4 rotateX -60
- $breakout4 shatter "0 180 0" 100 10 50 .05 0
-
- $breakout4 time .3
- $breakout4 moveto $breakout4_way1
- waitFor $breakout4
-
- $breakout4 time .3
- $breakout4 moveto $breakout4_way2
- waitFor $breakout4
-
- $breakout4 time .4
- $breakout4 moveto $breakout4_way3
- waitFor $breakout4
-
- $breakout4 time .5
- $breakout4 moveto $breakout4_way4
- waitFor $breakout4
-
- $breakout4 rotateX 0
- $breakout4 notsolid
-
- end // breakout4_thread
-
-
- // breakout5_thread:
- /////////////////////////////////////////////////////////////////////////////
- breakout5_thread:
-
- $breakout5 rotateY 360
- $breakout5 shatter "0 180 0" 50 10 50 .02 0
-
- $breakout5 time .5
- $breakout5 moveto $breakout5_way1
- waitFor $breakout5
-
- $breakout5 time .7
- $breakout5 moveto $breakout5_way2
- waitFor $breakout5
-
- $breakout5 rotateY 0
- $breakout5 shatter "0 180 0" 50 10 50 .02 0
- $breakout5 remove
-
- end // breakout5_thread
-
-
- // breakout6_thread:
- /////////////////////////////////////////////////////////////////////////////
- breakout6_thread:
-
- $breakout6 rotateX 370
- $breakout6 shatter "0 180 0" 50 10 50 .02 0
-
- $breakout6 time .7
- $breakout6 moveto $breakout6_way1
- waitFor $breakout6
-
- $breakout6 time .5
- $breakout6 moveto $breakout6_way2
- waitFor $breakout6
-
- $breakout6 rotateX 0
-
- $breakout6 time .6
- $breakout6 moveto $breakout6_way3
- waitFor $breakout6
-
- $breakout6 shatter "0 180 0" 50 10 50 .02 0
- $breakout6 remove
-
- end // breakout6_thread
-
-
- // office_securitypad_thread:
- /////////////////////////////////////////////////////////////////////////////
- office_securitypad_thread:
-
- music success normal
-
- level.greencard_status ifnotequal 0 goto office_securitypad_done
- level.greencard_status = 1
-
- *1 playsound environment/computer/beeps/affirm1.wav 2
-
- $door5 unlock
- $door6 unlock
- $outside_door unlock
-
- @greencard_surf frame 1
-
- office_securitypad_done:
-
- end // office_securitypad_thread
-
-
- // balcony_securitypad_thread:
- /////////////////////////////////////////////////////////////////////////////
- balcony_securitypad_thread:
-
- music success normal
-
- level.yellowcard_status ifnotequal 0 goto balcony_securitypad_done
- level.yellowcard_status = 1
-
- *1 playsound environment/computer/beeps/affirm1.wav 2
-
- $conf_door3 unlock
- $conf_door4 unlock
-
- @yellowcard_surf frame 1
-
- balcony_securitypad_done:
-
- end // balcony_securitypad_thread
-
-
- // trapdoor_thread:
- /////////////////////////////////////////////////////////////////////////////
- trapdoor_thread:
-
- music surprise normal
-
- // FIXME: play a sound
-
- $trapdoor_top notsolid
- $trapdoor_bottom notsolid
-
- $trapdoor_top time 0.2
- $trapdoor_bottom time 0.2
- $trapdoor_top moveDown 32
- $trapdoor_top moveNorth 16
- $trapdoor_bottom moveDown 32
- $trapdoor_bottom moveSouth 16
- $trapdoor_top rotateZup 90
- $trapdoor_bottom rotateZdown 90
- waitFor $trapdoor_bottom
-
- end // trapdoor_thread
-
-
- // exit_thread:
- /////////////////////////////////////////////////////////////////////////////
- exit_thread:
-
- fadeout 1 0 0 0
-
- end // exit_thread
-
-
- //===========================================================================
- //===========================================================================
- // CHARACTERS
- //===========================================================================
- //===========================================================================
- // init_character_items_thread:
- /////////////////////////////////////////////////////////////////////////////
- init_character_items_thread:
-
- $sarge01 item GreenCard 1
-
- end // init_character_items_thread
-
-
- // tech01_thread:
- ////////////////////////////////////////////////////////////////////////////
- tech01_thread:
-
- local.self enemy
-
- end // tech01_thread
-
-
- // tech02_thread:
- ////////////////////////////////////////////////////////////////////////////
- tech02_thread:
-
- local.self enemy
-
- end // tech02_thread
-
-
- // elexis1_thread:
- ////////////////////////////////////////////////////////////////////////////
- elexis1_thread:
-
- local.self enemy
- local.self nodamage
-
- local.self ignoreall
- local.self definestate activate elexis1_activate1
- pause
-
- elexis1_activate1:
- local.self ignore activate
-
- local.self anim munt_speech_1
- waitFor local.self
-
- local.self anim munt_speech_2
- waitFor local.self
-
- local.self definestate activate elexis1_activate2
- pause
-
- elexis1_activate2:
- local.self ignore activate
-
- thread escape_lift_up_thread
-
- local.self runto $elexis1_node1
- waitFor local.self
-
- local.self runto $elexis1_node2
- waitFor local.self
-
- local.self runto $elexis1_node3
- waitFor local.self
-
- thread escape_lift_down_thread
- waitForThread parm.previousthread
-
- $conf_door1 unlock
- $conf_door2 unlock
- $control_room_door unlock
- $conf_chair solid
-
- local.self remove
-
- end // elexis1_thread
-
-
- // elexis2_thread:
- ////////////////////////////////////////////////////////////////////////////
- elexis2_thread:
-
- local.self enemy
- local.self nodamage
-
- local.self ignoreall
- local.self definestate activate elexis2_activate1
- pause
-
- elexis2_activate1:
- local.self ignore activate
-
- local.self walkto $elexis2_node1
- waitFor local.self
-
- local.self anim pose
- waitFor local.self
-
- local.self anim idle
-
- end // elexis2_thread
-
-
- // confguy01_thread:
- ////////////////////////////////////////////////////////////////////////////
- confguy01_thread:
-
- local.self notsolid
- local.self enemy
-
- local.self ignoreall
- local.self respondto pain
- local.self anim sitting
- local.self definestate activate confguy01_activate
- pause
-
- confguy01_activate:
-
- local.self runto $conf_node2
- waitFor local.self
-
- local.self remove
-
- end // confguy01_thread
-
-
- // confguy02_thread:
- ////////////////////////////////////////////////////////////////////////////
- confguy02_thread:
-
- local.self notsolid
- local.self enemy
-
- local.self ignoreall
- local.self respondto pain
- local.self anim sitidle1
- local.self definestate activate confguy02_activate
- pause
-
- confguy02_activate:
-
- local.self runto $conf_node2
- waitFor local.self
-
- local.self remove
-
- end // confguy02_thread
-
-
- // confguy03_thread:
- ////////////////////////////////////////////////////////////////////////////
- confguy03_thread:
-
- local.self notsolid
- local.self enemy
-
- local.self ignoreall
- local.self respondto pain
- local.self anim sitting
- local.self definestate activate confguy03_activate
- pause
-
- confguy03_activate:
-
- local.self runto $conf_node1
- waitFor local.self
-
- local.self remove
-
- end // confguy03_thread
-
-
- // confguy04_thread:
- ////////////////////////////////////////////////////////////////////////////
- confguy04_thread:
-
- local.self notsolid
- local.self enemy
-
- local.self ignoreall
- local.self respondto pain
- local.self anim sitidle1
- local.self definestate activate confguy04_activate
- pause
-
- confguy04_activate:
-
- local.self runto $conf_node1
- waitFor local.self
-
- local.self remove
-
- end // confguy04_thread
-
-
- // confguy05_thread:
- ////////////////////////////////////////////////////////////////////////////
- confguy05_thread:
-
- local.self notsolid
- local.self enemy
-
- local.self ignoreall
- local.self respondto pain
- local.self anim sitidle1
- local.self definestate activate confguy05_activate
- pause
-
- confguy05_activate:
-
- local.self runto $conf_node1
- waitFor local.self
-
- local.self remove
-
- end // confguy05_thread
-
-
- // confguy06_thread:
- ////////////////////////////////////////////////////////////////////////////
- confguy06_thread:
-
- local.self notsolid
- local.self enemy
-
- local.self ignoreall
- local.self respondto pain
- local.self anim sitting
- local.self definestate activate confguy06_activate
- pause
-
- confguy06_activate:
-
- local.self runto $conf_node2
- waitFor local.self
-
- local.self remove
-
- end // confguy06_thread
-
-
- // manu01_thread:
- /////////////////////////////////////////////////////////////////////////////
- manu01_thread:
-
- level.Skill ifequal 0 local.self health 600
- level.Skill ifequal 1 local.self health 800
- level.Skill ifgreater 1 local.self health 1000
-
- local.self ignoreall
- local.self definestate activate manu01_activate
- local.self definestate killed manu01_killed
- pause
-
- manu01_activate:
- local.self ignore activate
-
- //level.telescope_status ifequal 0 local.self runto $manu01_node1
- //level.telescope_status ifequal 1 local.self runto $manu01_node2
- //waitFor local.self
-
- //local.self anim melee1
- //waitFor local.self
-
- //level.telescope_status ifequal 0 thread destroy_telescope_retracted_thread
- //level.telescope_status ifequal 1 thread destroy_telescope_expanded_thread
-
- local.self respondtoall
- local.self attackplayer
-
- end // manu01_thread
-
- manu01_killed:
- local.self ignore killed
-
- level.dome_enemies_killed += 1
-
- end // manu01_thread
-
-
- // sarge01_thread:
- /////////////////////////////////////////////////////////////////////////////
- sarge01_thread:
-
- local.self ignoreall
- local.self definestate activate sarge01_activate
- local.self definestate killed sarge01_killed
- pause
-
- sarge01_activate:
- local.self ignore activate
-
- // This guy has the key. To prevent possibly lossing track of him in the rubble
- // or falling down the missle silo, just have him stand ground.
- local.self respondtoall
- local.attackmode = 1
- local.self attackplayer
-
- end // sarge01_thread
-
- sarge01_killed:
- local.self ignore killed
-
- level.dome_enemies_killed += 1
-
- end // sarge01_thread
-
-
- // sarge02_thread:
- /////////////////////////////////////////////////////////////////////////////
- sarge02_thread:
-
- local.self ignoreall
- local.self definestate activate sarge02_activate
- local.self definestate killed sarge02_killed
- pause
-
- sarge02_activate:
- local.self ignore activate
-
- local.self respondtoall
- local.attackmode = 2
- local.self attackplayer
-
- end // sarge02_thread
-
- sarge02_killed:
- local.self ignore killed
-
- level.dome_enemies_killed += 1
-
- end // sarge02_thread
-
-
- // sarge03_thread:
- /////////////////////////////////////////////////////////////////////////////
- sarge03_thread:
-
- local.self ignoreall
- local.self definestate activate sarge03_activate
- local.self definestate killed sarge03_killed
- pause
-
- sarge03_activate:
- local.self ignore activate
-
- local.self respondtoall
- local.attackmode = 2
- local.self attackplayer
-
- end // sarge03_thread
-
- sarge03_killed:
- local.self ignore killed
-
- level.dome_enemies_killed += 1
-
- end // sarge03_thread
-
-
- //===========================================================================
- //===========================================================================
- // DIALOG
- //===========================================================================
- //===========================================================================
- // speech1_dialog_thread:
- ////////////////////////////////////////////////////////////////////////////
- speech1_dialog_thread:
-
- thread dialog::elexis_from_the_day
- level.speech1_dialog_thread = parm.previousthread
- waitForThread level.speech1_dialog_thread
-
- thread dialog::elexis_each_and_every
- level.speech1_dialog_thread = parm.previousthread
- waitForThread level.speech1_dialog_thread
-
- @confboard_surf frame 1
-
- thread dialog::elexis_colleagues
- level.speech1_dialog_thread = parm.previousthread
- waitForThread level.speech1_dialog_thread
-
- thread dialog::elexis_ask_you
- level.speech1_dialog_thread = parm.previousthread
- waitForThread level.speech1_dialog_thread
-
- @confboard_surf frame 2
-
- thread dialog::elexis_i_alone
- level.speech1_dialog_thread = parm.previousthread
- waitForThread level.speech1_dialog_thread
-
- thread dialog::elexis_ladies
- level.speech1_dialog_thread = parm.previousthread
- waitForThread level.speech1_dialog_thread
-
- end // speech1_dialog_thread
-
-
- // blade_pay_dialog_thread:
- ////////////////////////////////////////////////////////////////////////////
- blade_pay_dialog_thread:
-
- thread dialog::blade_now_its_time
- waitForThread parm.previousthread
-
- end // blade_pay_dialog_thread
-
-
- // speech2_dialog_thread:
- ////////////////////////////////////////////////////////////////////////////
- speech2_dialog_thread:
-
- thread dialog::elexis_history
- waitForThread parm.previousthread
-
- thread dialog::blade_new_dawn
- waitForThread parm.previousthread
-
- trigger $elexis1
- thread comotion_thread
-
- end // speech2_dialog_thread
-
-
- // blade_pop_a_cap_dialog_thread:
- ////////////////////////////////////////////////////////////////////////////
- blade_pop_a_cap_dialog_thread:
-
- thread dialog::blade_pop_a_cap
- waitForThread parm.previousthread
-
- end //blade_pop_a_cap_dialog_thread
-
-
- // elexis_flee_dialog_thread:
- ////////////////////////////////////////////////////////////////////////////
- elexis_flee_dialog_thread:
-
- thread dialog::elexis_flee
- waitForThread parm.previousthread
-
- end // elexis_flee_dialog_thread
-
-
- // elexis_stud_dialog_thread:
- ////////////////////////////////////////////////////////////////////////////
- elexis_stud_dialog_thread:
-
- thread dialog::elexis_meet_daddy
- wait 7
-
- trigger $elexis2
-
- end // elexis_stud_dialog_thread
-
-
- //===========================================================================
- //===========================================================================
- // CONSOLES
- //===========================================================================
- //===========================================================================
- // getmenuresult_thread:
- /////////////////////////////////////////////////////////////////////////////
- getmenuresult_thread:
- local.Console string parm.Console
-
- waitForConsole local.Console
- parm.MenuResult coninput local.Console
-
- end // getmenuresult_thread
-
-
- // telescope_console_thread:
- /////////////////////////////////////////////////////////////////////////////
- telescope_console_thread:
- local.Console string "con_tele"
- local.ConsoleObject string "%con_tele"
-
- telescope_console_mainmenu:
- local.ConsoleObject conclearlayout
- level.telescope_status ifnotequal 2 local.ConsoleObject conmenufile "menus/phoenix/phoenix1.001"
- level.telescope_status ifequal 2 local.ConsoleObject conmenufile "menus/phoenix/phoenix1.002"
- local.ConsoleObject focus menu
-
- parm.Console string local.Console
- thread getmenuresult_thread
- local.WaitingForThread = parm.previousthread
- waitForThread local.WaitingForThread
- local.MenuResult string parm.MenuResult
-
- local.MenuResult ifequal 1 goto telescope_expand
- local.MenuResult ifequal 2 goto telescope_retract
- local.MenuResult ifequal 3 goto telescope_setangle
-
- telescope_expand:
- thread expand_telescope_thread
- waitForThread parm.previousthread
-
- goto telescope_console_mainmenu
-
- telescope_retract:
- thread retract_telescope_thread
- waitForThread parm.previousthread
-
- goto telescope_console_mainmenu
-
- telescope_setangle:
- parm.Angle = console.telescope_angle
- thread set_telescope_angle_thread
- waitForThread parm.previousthread
-
- goto telescope_console_mainmenu
-
- end // telescope_console_thread
-
-
- //===========================================================================
- //===========================================================================
- // MISSION COMPUTER
- //===========================================================================
- //===========================================================================
- // phoenix_start_misscomp_thread:
- /////////////////////////////////////////////////////////////////////////////
- phoenix_start_misscomp_thread:
-
- thread PhoenixMissionComputer
- thread global/universal_script.scr::StatusUpdated
- waitForThread parm.previousthread
-
- end // phoenix_start_misscomp_thread
-
-
- // find_elexis_misscomp_thread:
- /////////////////////////////////////////////////////////////////////////////
- find_elexis_misscomp_thread:
-
- music success normal
-
- level.PObjective1 = 1 // Locate Elexis Sinclaire
- level.PObjective2 = 0 // Find The Missile Control Room
- thread PhoenixMissionComputer
-
- thread global/universal_script.scr::PObjectiveComplete
- waitForThread parm.previousthread
-
- thread global/universal_script.scr::StatusUpdated
- waitForThread parm.previousthread
-
- end // find_elexis_misscomp_thread
-
-
- // PhoenixMissionComputer:
- /////////////////////////////////////////////////////////////////////////////
- PhoenixMissionComputer:
- %missioncon conlayout "xv -74 yv 76 fc 0.6 0.6 1 1 string \"Underwater Passage\""
- %missioncon conapplayout "xv -120 yv 60 fc 0.4 0.4 0.8 1 string \"Primary Objective(s):\""
-
- level.PObjective1 ifequal 0 %missioncon conapplayout "xv -118 yv 48 spicn b_blank 0.5 0.5 xv -116 yv 48 fc 0.7 0.7 0.7 1 string \" Locate Elexis Sinclaire\""
- level.PObjective2 ifequal 0 %missioncon conapplayout "xv -118 yv 36 spicn b_blank 0.5 0.5 xv -116 yv 36 fc 0.7 0.7 0.7 1 string \" Find The Missile Control\""
- level.PObjective2 ifequal 0 %missioncon conapplayout "xv -116 yv 24 fc 0.7 0.7 0.7 1 string \" Room\""
-
- level.PObjective1 ifequal 1 %missioncon conapplayout "xv -118 yv 48 spicn b_checked 0.5 0.5 xv -116 yv 48 fc 0.2 0.2 0.2 1 string \" Locate Elexis Sinclaire\""
- level.PObjective2 ifequal 1 %missioncon conapplayout "xv -118 yv 36 spicn b_checked 0.5 0.5 xv -116 yv 36 fc 0.2 0.2 0.2 1 string \" Find The Missile Control\""
- level.PObjective2 ifequal 1 %missioncon conapplayout "xv -116 yv 24 fc 0.2 0.2 0.2 1 string \" Room\""
-
- level.PObjective1 ifequal 2 %missioncon conapplayout "xv -118 yv 48 spicn b_notchecked 0.5 0.5 xv -116 yv 48 fc 0.2 0.2 0.2 1 string \" Locate Elexis Sinclaire\""
- level.PObjective2 ifequal 2 %missioncon conapplayout "xv -118 yv 36 spicn b_notchecked 0.5 0.5 xv -116 yv 36 fc 0.2 0.2 0.2 1 string \" Find The Missile Control\""
- level.PObjective2 ifequal 2 %missioncon conapplayout "xv -116 yv 24 fc 0.2 0.2 0.2 1 string \" Room\""
-
- level.PObjective1 ifequal 3 %missioncon conapplayout "xv -116 yv 48 fc 0.2 0.2 0.2 1 string \" ----------------------------\""
- level.PObjective2 ifequal 3 %missioncon conapplayout "xv -116 yv 36 fc 0.2 0.2 0.2 1 string \" ----------------------------\""
-
- %missioncon conapplayout "xv -120 yv 12 fc 0.4 0.4 0.8 1 string \"Secondary Objective(s):\""
- %missioncon conapplayout "xv -116 yv 0 fc 0.2 0.2 0.2 1 string \" None\""
-
- end // PhoenixMissionComputer
-
-
- //---------------------------------------------------------------------------
- // Finished Level Update
- //---------------------------------------------------------------------------
- LevelComplete:
-
- // Clears any items in the player's inventory that need to be removed
- thread global/universal_script.scr::ClearInventory
-
- // Set any primary objectives left for the end of the map
- //level.PObjective1 = 1 // Locate Elexis Sinclaire
- level.PObjective2 = 1 // Find The Missile Control Room
-
- // Fail the incomplete secondary objectives
-
- // Set up the Primary Objectives
- local.IMString string "oxl 2 oyt -32 fc 0.53 0.53 0.83 1 string \"Primary Objective(s):\""
-
- level.PObjective1 ifequal 1 local.IMString append "oxl 6 oyt -42 spicn b_checked 0.5 0.5 oxl 18 oyt -42 fc 0.6 0.6 0.6 1 string \"Locate Elexis Sinclaire\""
- level.PObjective2 ifequal 2 local.IMString append "oxl 6 oyt -52 spicn b_checked 0.5 0.5 oxl 18 oyt -52 fc 0.6 0.6 0.6 1 string \"Find The Missile Control Room\""
-
- level.PObjective1 ifequal 2 local.IMString append "oxl 6 oyt -42 spicn b_notchecked 0.5 0.5 oxl 18 oyt -42 fc 0.6 0.6 0.6 1 string \"Locate Elexis Sinclaire\""
- level.PObjective2 ifequal 2 local.IMString append "oxl 6 oyt -52 spicn b_notchecked 0.5 0.5 oxl 18 oyt -52 fc 0.6 0.6 0.6 1 string \"Find The Missile Control Room\""
-
- // Set up the Secondary Objectives
- local.IMString append "oxl 2 oyt -62 fc 0.53 0.53 0.83 1 string \"Secondary Objective(s):\""
- local.IMString append "oxl 18 oyt -72 fc 0.6 0.6 0.6 1 string \"None\""
-
- // Send over the information that Scott needs to load the proper intermission
- loadintermission "layouts/im_layouts/phoenix_to_thrall"
- intermissionlayout local.IMString
-
- end
-
-
- // precache:
- /////////////////////////////////////////////////////////////////////////////
- precache:
-
- cachesound environment/elevator/elev2.wav
- cachesound environment/doors/pneu/smlpnu.wav
- cachesound environment/Amb_Machine/mechamb2.wav
- cachesound environment/machine/synmach/Lv2rng.wav
- cachesound environment/machine/lrgmach/bigabs.wav
- cachesound environment/levelsnds/muntp/observ2.wav
- cachesound environment/machine/pneumach/Mchhss5.wav
- cachesound environment/machine/pneumach/Mchhss6.wav
- cachesound environment/levelsnds/muntp/observ3.wav
- cachesound environment/Alarm/klaxon3.wav
- cachesound environment/doors/pneu/mchmv1ll.wav
- cachesound environment/machine/srvct1.wav
- cachesound environment/machine/jsb1nf.wav
- cachesound environment/machine/mrclchn.wav
-
- end // precache
-